// interface 
// 接口的作用就是为这些类型命名和为你的代码或第三方代码定义契约。
// 编译成js后就没有实际意义了
export {}
interface Post {
  title:string
  content:string
  subtitle?:string//string,undefined
  readonly summary:string //只读成员
}

function printPost(post:Post){
  console.log(post.title)
  console.log(post.content)
}

printPost({
  title:'Hello,TypeScript',
  content:'A javascript superset',
  summary:'a js'
})

// 索引签名
interface Cache {
  [prop:string]:string
}
//使用的时候需要使用string-string的key-value形式
const cache:Cache={}
cache.foo='value1'
cache.bar='value2'